#ifndef AVALON_TIMEOUTEXCEPTION_HPP
#define AVALON_TIMEOUTEXCEPTION_HPP
#include <exception>
#include <boost/exception/exception.hpp>
#include "Avalon/Threading/Threading.hpp"

namespace Avalon {
namespace Threading {

  /*! \class TimeoutException
   *  \brief Indicates that blocking operation timed out.
   *  \author Kamal Mansouri <kranar@hotmail.com>
   */
  class TimeoutException : public std::exception, public boost::exception {
    public:

      virtual ~TimeoutException() throw();

      virtual const char* what() const throw();
  };
}
}

#endif // AVALON_TIMEOUTEXCEPTION_HPP
